package com.xfcy.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xfcy.blog.common.R;
import com.xfcy.blog.dto.EmailLoginDTO;
import com.xfcy.blog.dto.EmailRegisterDTO;
import com.xfcy.blog.dto.UserAuthDTO;
import com.xfcy.blog.entity.UserAuth;

/**
 * 用户信息表(UserAuth)表服务接口
 *
 * @author 晓风残月Lx
 * @since 2023-04-09 11:03:06
 */
public interface UserAuthService extends IService<UserAuth> {




    // Web端 开始

    /**
     * 通过邮箱注册账号
     * @param emailRegisterDTO
     * @return
     */
    R emailRegister(EmailRegisterDTO emailRegisterDTO);

    /**
     * 邮箱发送验证码
     * @param email
     * @return
     */
    R sendEmailCode(String email);

    /**
     * 通过邮箱 密码 登录
     * @param emailLoginDTO
     * @return
     */
    R emailLogin(EmailLoginDTO emailLoginDTO);

    /**
     * 注销
     * @return
     */
    R logout();

    /**
     * 修改个人信息
     * 更改用户
     * @return
     */
    R updateUser(UserAuthDTO userAuthDTO);

    /**
     * 绑定邮箱
     * @param emailLoginDTO
     * @return
     */
    R bindEmail(EmailLoginDTO emailLoginDTO);

    /**
     * 邮箱账号修改密码
     * @param emailRegisterDTO
     * @return
     */
    R updatePassword(EmailRegisterDTO emailRegisterDTO);

}


